#ifndef GAMEOBJECT_H
#define GAMEOBJECT_H
#include <irrlicht.h>
#include "IVehicle.h"

using namespace irr;
using namespace scene;
using namespace video;
using namespace core;

class PhysicComponent 
{
public:
	PhysicComponent();
	virtual ~PhysicComponent(){};
	bool init();
	SimpleVehicle* getBody() const;
	void setPosition(const core::vector3df& position);

protected:
	SimpleVehicle* mBody;
};
class AIComponent
{
public:
	void connectWithPhysic(PhysicComponent* component);
	void update(float dt);
protected:
	SimpleVehicle* mVehicle;
	ISterring* mSteering;
};
class GraphicsComponent
{
public:
	GraphicsComponent();
	virtual ~GraphicsComponent();
	scene::ISceneNode* getNode() const {return mNode;}
protected:
	scene::ISceneNode* mNode;
};

class GameObject
{
public:
	GameObject(void);
	~GameObject(void);

};
#endif GAMEOBJECT_H